/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sirafia.validadores;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
/**
 *
 * @author Sonia García
 */
public class validarFecha implements Converter{

    public Object getAsObject(FacesContext context, UIComponent component, String value) {

        String pattern ="dd/MM/yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        Date nDate;


        try {
            nDate = sdf.parse(value);

        } catch (ParseException e) {
            FacesMessage message = new FacesMessage();
            message.setDetail("Fecha incorrecta");
            message.setSummary("Fecha incorrecta");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ConverterException(message);

        }
        if(nDate.getTime() > new Date().getTime())
        {
            FacesMessage message = new FacesMessage();
            message.setDetail("La Fecha ingresada es mayor que la fecha del sistema");
            message.setSummary("La Fecha ingresada es mayor que la fecha del sistema");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ConverterException(message);

        }
         return nDate;
        //return value;

    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
      return value.toString();
    }

}